The typical digital computer system includes one or more disk subsystems for storing both data and instructions. Disks within the disk subsystems are divided into a plurality of tracks, at selected radial distances from the center and sectors which define particular angular regions in each track. When plural disks are present in a disk system, identically positioned tracks on each disk are handled as a volume (or cylinder).
Since stored data may be corrupted or destroyed, backup systems have been developed to create multiple copies of the stored data, usually on separate disk drives so that in such an event, the data can be recovered from one or more of the copies. Such provision of copies is referred to as either "shadowing" or "mirroring" of the data. When such mirroring is carried on between a pair of remotely located disk volumes, those disk volumes are referred to as a "peer to peer remote copy" (PPRC) pair.
While a PPRC pair may create mirrored copies at discrete intervals, many PPRC pairs now mirror their data on a continuing basis so as to maintain their respective data copies in synchronism. While such backup copying techniques are frequently used, they are expensive in terms of required processing time, especially when the virtual storage volume system stores large amounts of data.
As those skilled in the art understand, many host processors are programmed to provide data addresses in a form dictated by disk drive configurations that are now obsolete. Such outmoded disk drive configurations comprised relatively large diameter, storage disks that were addressed on the basis of a cylinder (i.e., tracks on a plurality of disks) and a read/write head (to designate a particular disk). Currently, in lieu of such large disk systems, the industry has migrated towards use of multiple small disk drive systems that are available on a commodity basis and, as a result, are inexpensive yet reliable.
To avoid having to re-program the host processors, storage systems using these small disk drives incorporate an address translation facility which converts the host data addresses (i.e., cylinder and head) to virtual storage volume addresses, such addresses defining physical addresses of disk systems that comprise the virtual storage volume. The virtual storage volume may be spread across many physical disk drives, with the virtual volume host addresses being related to physical disk addresses by a virtual volume directory. Thus, a storage system establishes virtual storage volumes which conform to the host addresses, even though such virtual storage volumes do not exist in reality, but rather exist in a distributed fashion across plural small disk drives.
As can thus be seen, data from a host processor can be spread across many disk drives and is thereafter only accessible by reference to an associated virtual volume directory. To, in effect, make a "copy" of data in a virtual volume, a copy or "snapshot" of a virtual volume directory is sometimes created, with each entry in the virtual volume directory comprising a pointer to a disk physical address which corresponds to a host-received virtual volume address.
A cost efficient data preservation technique employs the concept of transferring to a target virtual storage volume, a "snapshot" copy of a virtual storage volume directory that is to be mirrored. Such a directory transfer preferably occurs at predetermined intervals, i.e., not continuously. Such a snapshot action is facilitated by employing a log-structured file storage procedure. Such a procedure assures that writes of data updates to disk are never done in place. More specifically, when update data is written to disk, it is never overwritten on the old data, but rather is written to a new location. Accordingly, when a virtual storage volume directory configured as a log-structured array, is updated to reflect the location of the updated data, only the last entry in the directory which refers to the updated data is valid, even though the directory contains a prior entry indicating the previous location of the old data (which still remains on disk). Thus, when a virtual storage volume is updated, the entry designating the updated copy is written at the end of the log file. Until updated, other copies of the log-structured directory still include entries whose pointers point to the locations of the pre-update (i.e., old) data.
During creation of a snapshot copy of a directory of a virtual storage volume, access to the virtual storage volume is suspended until the snapshot operation is complete. Further, when the snapshot copy of the directory is transferred to a target virtual storage volume, the actual data which is pointed-to by the snapshot copy must be copied to the target virtual storage volume to assure its availability in the event of a failure of the originating virtual storage volume. Such copying of data can place a substantial processing burden on the initial virtual storage volume and can substantially reduce its availability to a host processor.
The prior art includes a number of teachings regarding enhancements of data mirroring actions. For instance, U.S. Pat. No. 5,592,618 to Micka et al. describes a data copy validation technique which compares primary data to a copy of that data by generating check codes of the data to be validated at both primary and secondary volumes in a data mirroring system. The validation session runs concurrently with the data mirroring so as not to disrupt the mirroring action.
U.S. Pat. No. 5,615,329 to Kern et al. describes a remote data mirroring system which provides real-time disaster recovery, wherein a secondary volume is located remotely from the primary volume. Upon a failure at the primary volume, an error recovery program is invoked and if successful, enables resumption of the duplex operation.
U.S. Pat. No. 5,504,861 to Crockett et al. discloses a remote data mirroring system wherein data updates are transmitted asynchronously from a primary volume to a secondary volume. The mirroring of data being updated is optimized by sorting the record updates according to secondary volume device storage locations and chaining pluralities of input/output control command words according to the sorted data updates. Further data mirroring/shadowing techniques can be found in the following U.S. Pat. Nos.: 5,623,599; 5,446,871 and 4,979,108.
Notwithstanding the aforementioned enhancements of data mirroring, such actions still place a substantial processing burden on the storage volume controller that implements the transfer of data being mirrored.
Accordingly, it is an object of this invention to provide an improved method and apparatus for achieving a remote mirroring of data, while relieving a primary virtual storage volume of certain processing overhead required during the mirroring action.
It is another object of this invention to provide a method and apparatus for achieving a mirroring operation in virtual storage volumes, wherein accessibility to a primary virtual volume is enhanced during the mirroring operation.